$(function(){
    $('.consultaCargando').css('display','none');
    $('.consultaCargandoImg').css('display','block');
    listNovedades();
});

var busqueda = [];
var cantidadNovedades = 0;
/* Interface-Loaders
 * ****************************************************************************/
function listNovedades(){
    $.ajax({
        type: "POST",
        url: 'listNovedadesEspecificas.do',
        dataType: 'json',
        success: processListNovedades
    });
    return false
}
function processListNovedades(answer){
    cantidadNovedades = 0;
    $.each(answer, function(index, value){
        treeItem = $("<div id='tree-item-"+index+"' class='tree-item'>");

        treeHead = $("<div id='tree-head-"+index+"' class='tree-head'>");
        treeHead.append($("<img alt='+' src='style/imagesTree/plus.gif' class='tree-head-img' id='tree-head-img-"+index+"'/>"));
        treeHead.append($("<input type='checkbox' class='tree-check tree-head-check' id='tree-head-check-"+index+"'/>  "));
        treeHead.append($("<div id='tree-head-tittle-"+index+"' class='tree-head-tittle'>").append(value.novedadG));

        treeItem.append(treeHead);

        treeContent = $("<div id='tree-content-"+index+"' class='tree-content oculta'>");
        idx=0;
        $.each(value.novedades, function(index2, value2){
            treeContentItem = $("<div id='tree-content-item-"+index2+"' class='tree-content-item'>");
            treeContentItem.append($("<input type='checkbox' class='tree-check tree-content-check tree-content-check-"+index+"' id='tree-content-check-"+cantidadNovedades+"' value='"+value2.idNovedadEsp+"'>"));
            treeContentItem.append($("<input type='hidden'id='tittle-"+value2.idNovedadEsp+"' value='"+value2.novedadEsp+"'>"));
            treeContentItem.append($("<div class='tree-content-tittle' id='tree-content-tittle-"+value2.idNovedadEsp+"' value='"+value2.novedadEsp+"'>"+value2.novedadEsp+"</div>"));
            treeContent.append(treeContentItem);
            idx++;
            cantidadNovedades++;
        });
        treeContent.addClass('tree-content-size-'+idx);
        treeItem.append(treeContent);
        $('#novedadesTree').append(treeItem);
    });
    $('#novedadesTree').append(controlsTree());
    $('#novedadesWidget').toggleClass('muestra');

    $('#allChecks').click(allNovedades);
    $('#resetChecks').click(resetNovedades);
    $('.tree-head-img').click(function(){
        id = $(this).attr('id');
        treeIndex = id.replace('tree-head-img-', '', 'gi');
        content = $('#tree-content-'+treeIndex);
        if(content.hasClass('oculta')){
            content.removeClass('oculta').addClass('muestra');
            $('#tree-head-img-'+treeIndex).attr('src', 'style/imagesTree/minus.gif').attr('alt', '-');
        } else {
            content.removeClass('muestra').addClass('oculta');
            $('#tree-head-img-'+treeIndex).attr('src', 'style/imagesTree/plus.gif').attr('alt', '+');;
        }
    });
    $('.tree-head-check').click(function(){
        id = $(this).attr('id');
        treeItemIndex = id.replace('tree-head-check-', '', 'gi');
        checked = $(this).attr('checked');
        $('.tree-content-check-'+treeItemIndex).attr('checked',checked);
    });
    $('.tree-content-check').click(function(){
        checked = $(this).attr('checked');
        id = $(this).parent().parent().attr('id');
        treeItemIndex = id.replace('tree-content-', '', 'gi');
        if(!checked) $('#tree-head-check-'+treeItemIndex).attr('checked',false);
        else {
            n = $('#tree-content-'+treeItemIndex+' :checkbox:checked').size();
            if($('#tree-content-'+treeItemIndex).hasClass('tree-content-size-'+n))
                $('#tree-head-check-'+treeItemIndex).attr('checked',true);
        }
    });
    $('.consultaCargandoImg').css('display','none');
    $('.consultaCargando').css('display','block');
}

/* Process Acrions
* * **************************************************************************/
/*function processListNovedadesEspecificas(answer){
    $("<h6>").append("<a href='#'>"+answer.type+"</a>").appendTo('#accordion');
    div = $("<div>");
    $.each(answer.novedades, function(index, value){
        div.append("<div><input type='checkbox' id='"+value.novedades+"' value='"+value.novedades+"'>"+value.novedades+"</div>");
    });
    $('#accordion').append(div);
}*/

function resetNovedades(){
    $('.tree-check').attr('checked',false);
}
function allNovedades(){
    $('.tree-check').attr('checked',true);
}

function consultarNovedades(){
    clearBusqueda();
    var listNovedades = [];
    for (i=0; i < cantidadNovedades; i++) {
        if(document.getElementById("tree-content-check-"+i).checked){
            listNovedades.push(document.getElementById("tree-content-check-"+i).value);
        }
    }
    
    /*
    if(document.getElementById("Actos Sospechosos").checked){
        listNovedades.push(document.getElementById("Actos Sospechosos").value);
    }
    if(document.getElementById("Paro de empleados").checked){
        listNovedades.push(document.getElementById("Paro de empleados").value);
    }
    if(document.getElementById("Paro de obreros").checked){
        listNovedades.push(document.getElementById("Paro de obreros").value);
    }
    if(document.getElementById("Paro de profesores").checked){
        listNovedades.push(document.getElementById("Paro de profesores").value);
    }
    if(document.getElementById("Disturbios Estudiantiles").checked){
        listNovedades.push(document.getElementById("Disturbios Estudiantiles").value);
    }
    if(document.getElementById("Hurto de laptop").checked){
        listNovedades.push(document.getElementById("Hurto de laptop").value);
    }
    if(document.getElementById("Hurto de equipos").checked){
        listNovedades.push(document.getElementById("Hurto de equipos").value);
    }
    if(document.getElementById("Hurto de dinero").checked){
        listNovedades.push(document.getElementById("Hurto de dinero").value);
    }
    if(document.getElementById("Muertos").checked){
        listNovedades.push(document.getElementById("Muertos").value);
    }
    if(document.getElementById("Lesionados").checked){
        listNovedades.push(document.getElementById("Lesionados").value);
    }
    if(document.getElementById("Accidentes Laborales").checked){
        listNovedades.push(document.getElementById("Accidentes Laborales").value);
    }
    if(document.getElementById("Incendios").checked){
        listNovedades.push(document.getElementById("Incendios").value);
    }
    if(document.getElementById("Inundaciones").checked){
        listNovedades.push(document.getElementById("Inundaciones").value);
    }
    if(document.getElementById("Apagones").checked){
        listNovedades.push(document.getElementById("Apagones").value);
    }
    if(document.getElementById("Consumo de Licor").checked){
        listNovedades.push(document.getElementById("Consumo de Licor").value);
    }
    if(document.getElementById("Consumo de Drogas").checked){
        listNovedades.push(document.getElementById("Consumo de Drogas").value);
    }
    if(document.getElementById("Daños a Planta Física").checked){
        listNovedades.push(document.getElementById("Daños a Planta Física").value);
    }
    if(document.getElementById("Choque de Vehículos").checked){
        listNovedades.push(document.getElementById("Choque de Vehículos").value);
    }
    if(document.getElementById("Vehículo violentado").checked){
        listNovedades.push(document.getElementById("Vehículo violentado").value);
    }
    if(document.getElementById("Vehículo desvalijado").checked){
        listNovedades.push(document.getElementById("Vehículo desvalijado").value);
    }
    if(document.getElementById("Robo de Vehiculos").checked){
        listNovedades.push(document.getElementById("Robo de Vehiculos").value);
    }
    if(document.getElementById("Robo de Motocicletas").checked){
        listNovedades.push(document.getElementById("Robo de Motocicletas").value);
    }
    if(document.getElementById("Atentados").checked){
        listNovedades.push(document.getElementById("Atentados").value);
    }
    if(document.getElementById("Captura de delincuentes por vehiculos").checked){
        listNovedades.push(document.getElementById("Captura de delincuentes por vehiculos").value);
    }
    if(document.getElementById("Atracos").checked){
        listNovedades.push(document.getElementById("Atracos").value);
    }
    if(document.getElementById("Agresiones Verbales").checked){
        listNovedades.push(document.getElementById("Agresiones Verbales").value);
    }
    if(document.getElementById("Agresiones Físicas").checked){
        listNovedades.push(document.getElementById("Agresiones Físicas").value);
    }*/

    for (i in listNovedades) {
        $('#resultado').empty();
        $.ajax({
            type: "POST",
            url: "listEspaciosNovedad.do",
            dataType: 'json',
            data: {
                'novedad': listNovedades[i],
                'agrega': $('#agregaNovedad').val(),
                'via': $('#viaNovedad').val()
            },
            success: function(answer){
                $.each(answer.novedades, function(index,value){
                    icon = 'style/images/Mapas/edificio3.gif';
                    latlng = new google.maps.LatLng(value.coordX,value.coordY);
                    var marker = new google.maps.Marker({
                        map: map,
                        position: latlng,
                        title: value.espacio,
                        icon: icon
                    });
                    var imagen = value.espacio.replace(/ /g, "");
                    google.maps.event.addListener(marker, 'click', function() {
                        content = "<div id='spaceTittle'>"+value.espacio+"</div>";
                        content += "<div id='spaceImg'><img src='style/images/Espacios/"+imagen+".jpg'/></div>";
                        content += "<div id='pisos'></div>";
                        $('#spaceInfo').html(content);
                        getPisos(value.espacio);
                    });
                    tr = $('<tr>');
                    tr.append($('<td>').append(document.getElementById("tittle-"+value.novedadEspecifica).value));
                    tr.append($('<td>').append(value.espacio));
                    tr.append($('<td>').append(value.agrega));
                    tr.append($('<td>').append(value.via));

                    $('#resultado').append(tr);
                    busqueda.push(marker);
                });
                $('#tableResult').css('display','block');
            }
        });
    }

    if(listNovedades.length == 0){

        $('#resultado').empty();
        $.ajax({
            type: "POST",
            url: "listEspaciosNovedad.do",
            dataType: 'json',
            data: {
                'novedad': "",
                'agrega': $('#agregaNovedad').val(),
                'via': $('#viaNovedad').val()
            },
            success: function(answer){
                $.each(answer.novedades, function(index,value){
                    icon = 'style/images/Mapas/edificio3.gif';
                    latlng = new google.maps.LatLng(value.coordX,value.coordY);
                    var marker = new google.maps.Marker({
                        map: map,
                        position: latlng,
                        title: value.espacio,
                        icon: icon
                    });
                    var imagen = value.espacio.replace(/ /g, "");
                    google.maps.event.addListener(marker, 'click', function() {
                        content = "<div id='spaceTittle'>"+value.espacio+"</div>";
                        content += "<div id='spaceImg'><img src='style/images/Espacios/"+imagen+".jpg'/></div>";
                        content += "<div id='pisos'></div>";
                        $('#spaceInfo').html(content);
                        getPisos(value.espacio);
                    });
                    tr = $('<tr>');
                    tr.append($('<td>').append(document.getElementById("tittle-"+value.novedadEspecifica).value));
                    tr.append($('<td>').append(value.espacio));
                    tr.append($('<td>').append(value.agrega));
                    tr.append($('<td>').append(value.via));

                    $('#resultado').append(tr);
                    busqueda.push(marker);
                });
                $('#tableResult').css('display','block');
            }
        });

    }

    return false;


}

// Removes the overlays from the map, but keeps them in the array
function clearBusqueda() {
    arreglo = busqueda;
    if (arreglo) {
        for (i in arreglo) {
            arreglo[i].setMap(null);
        }
    }
}

function processGetRisk(){
    clearEdificios();
    risks = answer.riesgos;
    $('#result').html("");
    table = $('<table>');
    $('#result').append(table);
    $.each(risks, function(index, value){
        i = 0;
        $.each(value, function(index2, value2){
            createMarker(value2.nombre_espacio,value2.coordX,value2.coordY,1);
            i++;
        });
        if(i>0){
            tr = $('<tr>');
            table.append(tr);

            tr.append('<th>'+index+'</th>');
            tr.append('<td>'+i+'</td>');
        }
    });
}
/* Actions
* ****************************************************************************/
function backUSB(){
    $("#map_Piso").css('display','none');
    $("#map_canvas").css('display','block');
}
/* General Use
* ****************************************************************************/
//function processLoadRiskType(answer){
//    $('#riskType').html("");
//    $.each(answer.tipoRiesgos, function(index, value){
//        $("<option selected>").attr("value", value).text(value).appendTo('#riskType');
//    });
//}